For use with computerized electronic devices, music may be described with data representing the pitch value of each note, the timing of each note, and the sound character of each note. The standard of such data representation is known as MIDI. Such data representations of music are used to record performances by musicians, typically performed at electronic keyboards. The sequences of notes with timing information may be stored in computer-readable media for subsequent electronic generation of music. When the music is generated, each note may be converted to sound by playing back a recorded snippet of the sound of an acoustic musical instrument. Similarly, sequences of many notes played on an acoustic instrument may be recorded for such assembly and playback.
Whether the sound data is stored as a MIDI sequence or as a recording from a musical instrument, the sequence may represent an entire performance or may be a short pattern that is repeated as accompaniment for simultaneous performance by a user, typically called a "style". A style is selected by a user and the system then generates the sequence of notes based on a particular rhythm and a particular chord. Styles typically contain one or two or four bars based on a single chord selected by the user and are endlessly repeated and transposed when the user selects a different chord. Such systems do not generate a melody or a "solo".
Computer systems are known which generate melodies or solos based on numeric rules for rhythm and a numerically generated melody, such as U.S. Pat. No. 4,616,547. However, melodies or solos generated by such methods do not sound like they are generated by humans and are seldom attractive to humans.